package com.chat.websocket.entity.module;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

/**
 * SunJingxuan
 * 2022 \ 08 \ 10
 */

@TableName(value = "message")
public class Message {
	/**
	 *   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
	 *   `send_user_id` int NOT NULL COMMENT '发送用户id',
	 *   `receive_user_id` int NOT NULL COMMENT '接收用户id',
	 *   `send_message_content` text NOT NULL COMMENT '发送内内容',
	 *   `send_user_delete_status` int NOT NULL DEFAULT '0' COMMENT '发送用户删除状态0未删除 1、已删除',
	 *   `receive_user_delete_status` int NOT NULL DEFAULT '0' COMMENT '接受用户删除状态0未删除 1、已删除',
	 *   `create_time` datetime NOT NULL COMMENT '创建时间（发送、接收时间）',
	 *   `modify_time` datetime NOT NULL COMMENT '修改时间',
	 *   `delete_status
	 */

	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	private Integer sendUserId;

	private Integer receiveUserId;

	private String sendMessageContent;

	private Integer sendUserDeleteStatus;

	private Integer receiveUserDeleteStatus;

	private Integer readStatus;

	private Date createTime;

	private Date modifyTime;

	private Integer deleteStatus;

	public Message() {}

	public Message(Long id, Integer sendUserId, Integer receiveUserId, String sendMessageContent, Integer sendUserDeleteStatus, Integer receiveUserDeleteStatus, Integer readStatus, Date createTime, Date modifyTime, Integer deleteStatus) {
		this.id = id;
		this.sendUserId = sendUserId;
		this.receiveUserId = receiveUserId;
		this.sendMessageContent = sendMessageContent;
		this.sendUserDeleteStatus = sendUserDeleteStatus;
		this.receiveUserDeleteStatus = receiveUserDeleteStatus;
		this.readStatus = readStatus;
		this.createTime = createTime;
		this.modifyTime = modifyTime;
		this.deleteStatus = deleteStatus;
	}

	public Message(Integer sendUserId, Integer receiveUserId, String sendMessageContent, Date createTime, Date modifyTime) {
		this.sendUserId = sendUserId;
		this.receiveUserId = receiveUserId;
		this.sendMessageContent = sendMessageContent;
		this.createTime = createTime;
		this.modifyTime = modifyTime;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Integer getSendUserId() {
		return sendUserId;
	}

	public void setSendUserId(Integer sendUserId) {
		this.sendUserId = sendUserId;
	}

	public Integer getReceiveUserId() {
		return receiveUserId;
	}

	public void setReceiveUserId(Integer receiveUserId) {
		this.receiveUserId = receiveUserId;
	}

	public String getSendMessageContent() {
		return sendMessageContent;
	}

	public void setSendMessageContent(String sendMessageContent) {
		this.sendMessageContent = sendMessageContent;
	}

	public Integer getSendUserDeleteStatus() {
		return sendUserDeleteStatus;
	}

	public void setSendUserDeleteStatus(Integer sendUserDeleteStatus) {
		this.sendUserDeleteStatus = sendUserDeleteStatus;
	}

	public Integer getReceiveUserDeleteStatus() {
		return receiveUserDeleteStatus;
	}

	public void setReceiveUserDeleteStatus(Integer receiveUserDeleteStatus) {
		this.receiveUserDeleteStatus = receiveUserDeleteStatus;
	}

	public Integer getReadStatus() {
		return readStatus;
	}

	public void setReadStatus(Integer readStatus) {
		this.readStatus = readStatus;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}

	public Integer getDeleteStatus() {
		return deleteStatus;
	}

	public void setDeleteStatus(Integer deleteStatus) {
		this.deleteStatus = deleteStatus;
	}
}
